L'Architettura Ricorsiva della Logica
Per costruire cervelli digitali complessi, dobbiamo innanzitutto definire la grammatica della loro lingua. In qualsiasi algebra booleana $(S, +, \cdot, ', 0, 1)$, definiamo espressioni booleane su un insieme di variabili $x_1, \dots, x_n$ attraverso un processo di induzione strutturale:
1. Ogni costante $s \in S$ è un'espressione booleana.
2. Ogni variabile $x_1, \dots, x_n$ è un'espressione booleana.
Se $X_1$ e $X_2$ sono già espressioni booleane, allora anche le seguenti sono espressioni valide:
$(X_1), \quad X_1', \quad X_1 + X_2, \quad X_1 \cdot X_2$
Priorità e Efficienza
Nell'assenza di parentesi, seguiamo una gerarchia rigorosa per evitare ambiguità: Congiunzione ($\\land$) ha sempre la precedenza su Disgiunzione ($\\lor$). Inoltre, per ottimizzare il design hardware, utilizziamo porte con $n$ ingressi. Invece di collegare più porte a due ingressi, rappresentiamo $a_1 \vee a_2 \vee \dots \vee a_n$ come un'unica unità logica, riducendo il ritardo di propagazione e semplificando la topologia del circuito.
Il Principio della Mappatura Strutturale
Ogni espressione algebrica è un progetto per un circuito fisico. Considera la costruzione per $(x_1 \wedge (\neg x_2 \vee x_3)) \vee x_2$:
- Livello Interno: Isoliamo prima $(\neg x_2 \vee x_3)$ usando una porta NOT e una porta OR.
- Livello Medio: Il risultato viene alimentato in una porta AND insieme al segnale da $x_1$.
- Livello Esterno: Infine, l'uscita della porta AND e la linea originale $x_2$ si incontrano in una porta OR terminale.